﻿using System.Windows.Threading;

namespace Acl.WinFormHosting;

public interface IWinFormsContext
{
    /// <summary>
    /// 获取或设置是否启用VisualStyles
    /// </summary>
    bool EnableVisualStyles { get; set; }

    /// <summary>
    /// 获取或设置高Dpi的模式
    /// </summary>
    HighDpiMode HighDpiMode { get; set; } 

    /// <summary>
    /// 获取或设置是否兼容TextRendering
    /// </summary>
    bool CompatibleTextRenderingDefault { get; set; } 

    /// <summary>
    /// Defines if the host application is stopped when the UI applications stops
    /// </summary>
    bool IsLifetimeLinked { get; set; }

    /// <summary>
    /// Is the WPF application started and still running?
    /// </summary>
    bool IsRunning { get; set; }

    /// <summary>
    /// The dispatcher to send information to forms
    /// </summary>
    Dispatcher Dispatcher { get; set; }
}
